#ifndef TESTHOME_H
#define TESTHOME_H

#include <QApplication>  // 用于管理 Qt 应用程序的控制流和主要设置
#include <QWidget>  // 所有用户界面对象的基类
#include <QVBoxLayout>  // 垂直布局管理器
#include <QHBoxLayout>  // 水平布局管理器
#include <QGroupBox>  // 带标题的分组框，用于部件分组显示
#include <QLabel>  // 显示文本或图像的标签
#include <QPushButton>  // 按钮，用于用户交互
#include <QResizeEvent>  // 处理窗口大小调整事件
#include <QFont>  // 设置字体属性
#include <QtCharts/QChartView>  // 显示图表的部件
#include <QtCharts/QLineSeries>  // 存储和表示折线图的数据系列
#include <QtCharts/QDateTimeAxis>  // 图表的日期时间轴
#include <QtCharts/QValueAxis>  // 图表的数值轴
#include <QtCharts/QScatterSeries>  // 存储和表示散点图的数据系列
#include <QDateTime>  // 处理日期和时间数据
#include <QString>  // 处理字符串

QT_USE_NAMESPACE
    class home: public QWidget
{
    Q_OBJECT
public:
    explicit home(QWidget *parent = nullptr);

    QVBoxLayout *mainLayout;
    QHBoxLayout *TopLayout;
    QGroupBox *Top1GroupBox;
    QGroupBox *Top2GroupBox;
    QGroupBox *Top3GroupBox;
    QGroupBox *Top4GroupBox;
    QHBoxLayout *Top1Layout;
    QHBoxLayout *Top2Layout;
    QHBoxLayout *Top3Layout;
    QHBoxLayout *Top4Layout;
    QVBoxLayout *Top1VLayout;
    QVBoxLayout *Top2VLayout;
    QVBoxLayout *Top3VLayout;
    QVBoxLayout *Top4VLayout;
    QLabel *Top1_1Label;
    QLabel *Top2_1Label;
    QLabel *Top3_1Label;
    QLabel *Top4_1Label;
    QLabel *Top1_2Label;
    QLabel *Top2_2Label;
    QLabel *Top3_2Label;
    QLabel *Top4_2Label;
    QLabel *Top1_3Label;
    QLabel *Top2_3Label;
    QLabel *Top3_3Label;
    QLabel *Top4_3Label;
    QPushButton *Top1_1;
    QPushButton *Top1_2;
    QPushButton *Top2_1;
    QPushButton *Top2_2;
    QPushButton *Top3_1;
    QPushButton *Top3_2;
    QPushButton *Top4_1;
    QPushButton *Top4_2;
    QGroupBox *leftGroupBox;
    QGroupBox *rightGroupBox;

    // 布局初始化
    void init();
    // 图表初始化
    void chartInit();
    // 样式初始化
    void styleInit();

    // 存储图表数据
    QLineSeries *series;

    //显示图表
    QChartView *chartView;

    //重绘事件
    void resizeEvent(QResizeEvent *event);

};

#endif // TESTHOME_H
